home *** CD-ROM | disk | FTP | other *** search
/ The Games Machine 76 / XENIATGM66.iso / Indiana Jones / Indiana Jones.exe / RESOURCE / PREVIEW.GOB / cog_vol_sharkgatemover.cog < prev    next >
Text File  |  1999-11-15  |  4KB  |  178 lines

  1. # Jones 3D Cog Script
  2. #
  3. # vol_SharkGateMover.cog
  4. #
  5. # This cog will take the camera to a frame in fron tof the shark gate,watch 
  6. # it move then jump back to the player.
  7. #
  8. # [CM]
  9. #
  10. # (C) 1997 LucasArts Entertainment Co. All Rights Reserved
  11. # ========================================================================================
  12.  
  13. symbols
  14.    
  15. #................MESSAGES..............
  16.     message  startup
  17.     message  activated
  18.     message  arrived
  19.     message  pulse
  20.  
  21.  
  22. #................ACTORS..............
  23.     thing   player                                        local         
  24.     thing   indy
  25.  
  26.  
  27. #................PROPS..............
  28.     thing   button         
  29.     thing    gate            
  30.     thing    poles            
  31.     
  32.  
  33.  
  34. #................CAMERAS..............
  35.     thing    look1
  36.     thing    cam1
  37.     thing    camtarget
  38.  
  39.  
  40. #................CAMERA TARGETS..............
  41.     thing    indytarget                                    local
  42. #................VARIABLES..............
  43.     int     done=0                                        local
  44.     int     curCam                                        local
  45.  
  46.     int        i_playerCT                                    local
  47.  
  48. #................KEYFRAMES..............
  49.     keyframe    inReach=in_activate_medium.key            local
  50.     
  51.  
  52. #................VECTORS..............
  53.     vector    look1                                        local
  54.     vector    indyTargPos                                    local
  55.  
  56.     
  57. #................TEMPLATES..............
  58.     template    ghostTpl=ghost                            local
  59.  
  60.  
  61. #................SOUNDS..............
  62.     sound    ancientdevice=nub_aethdoorarm_start_c.wav    local
  63.     sound    music=mus_gen_awesome3.wav                    local
  64.  
  65.  
  66. end
  67.  
  68. # ========================================================================================
  69. code
  70.  
  71. startup:
  72.  
  73.     player = GetLocalPlayerThing();
  74.     done = 0;
  75.     AttachThingToThingEx(poles, gate, 0x000C);
  76. return;
  77.  
  78. # ========================================================================================
  79. activated:
  80.                  // If player activates block
  81.    
  82. If (done == 1) return;
  83. If (GetSenderRef() == button)
  84.      {
  85.         StartCutScene(1);
  86.         done = 1;
  87.         
  88.         # get camera to known position
  89.         curCam = GetCurrentCamera();
  90.         SetExtCamOffsetToThing(cam1);
  91.         DeselectWeaponWait(player);
  92.         Sleep(0.5);
  93.         
  94.         # line up the actor
  95.         CopyOrientAndPos(player, indy);
  96.         CopyPlayerHolsters(player, indy);
  97.         SetThingFlags(player, 0x80000);
  98.         SetActorFlags(player, 0x200000);
  99.         ClearThingFlags(indy, 0x80000);
  100.         AISetLookThing(indy, button);
  101.         AIWaitForStop(indy);
  102.         i_playerCT = GetCollideType(indy);
  103.         SetCollideType(indy, 0);
  104.  
  105.         # create a target right above and in front of indy actor
  106.         indyTargPos = VectorAdd(VectorTransformToOrient(indy, '0.0 0.02 0.02'), GetThingPos(indy));
  107.         indytarget = CreateThingAtPos(ghostTpl, GetThingSector(indy), indyTargPos, '0 0 0');
  108.         CaptureThing(indytarget);
  109.  
  110.  
  111.         PlayKey(indy, inReach, 4, 0x12, 0);
  112.         Sleep(0.5);
  113.         MovetoFrame(button, 1, .5);
  114.         Sleep(1.0);
  115.         # cameratricks
  116.         SetCameraFocus(2, cam1);
  117.         SetCameraSecondaryFocus(2, indytarget);
  118.         SetCameraLookInterp(2, 1);
  119.         SetCameraInterpSpeed(2, 4);
  120.         SetCurrentCamera(2);
  121.         ResetCameraFOV(0, 0.0);
  122.         Sleep(1.0);
  123.         SetCameraSecondaryFocus(2, camtarget);
  124.         
  125.         
  126.         Sleep(0.25);
  127.         # camera flies toward gate
  128.         MovetoFrame(cam1, 2, 3.0);
  129.         SetCameraFOV(80, 1, 3.0);
  130.         Sleep(0.25);
  131.         # machinery runs
  132.         PlaySoundLocal(ancientdevice, 0.5, 1, 0x0, 0);
  133.         Sleep(0.5);
  134.         # music cue plays
  135.         PlaySoundLocal(music, 1.0, 0.0, 0x0, 0);
  136.         Sleep(3.0);
  137.         
  138.         # screenshake starts as gate moves
  139.         SetPulse(.05);
  140.         MovetoFrame(gate, 1, 0.75);
  141.         return;
  142.     }
  143.  
  144. return;
  145.  
  146. # ========================================================================================
  147. arrived:
  148.  
  149.     If ((GetSenderRef() == gate) && (GetCurFrame(gate) == 1))
  150.         {
  151.             SetPulse(0);
  152.             Sleep(2.0);
  153.             ResetCameraFOV(0, 0.0);
  154.             SetCurrentCamera(curCam);
  155.             RestoreExtCam();
  156.             SetCollideType(indy, i_playerCT);
  157.             SetThingFlags(indy, 0x80000);
  158.             ClearThingFlags(player, 0x80000);
  159.             ClearActorFlags(player, 0x200000);
  160.             MovetoFrame(cam1, 0, 100);
  161.             EndCutScene();
  162.         }
  163.  
  164. return;
  165.                 
  166. # ========================================================================================
  167. pulse:
  168.  
  169.     SetPOVShake('0.0 0.0 0.01', '0.0 0.0 0.0', 80.0, 0.80);
  170.     return;
  171.  
  172. # ========================================================================================
  173.  
  174.  
  175. end
  176.  
  177.  
  178.